home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
USA Bestseller
/
USA BESTSELLER Vol 1-95 (Hepp-Computer)(1995).iso
/
e032
/
cimage.hlp
< prev
next >
Wrap
Text File
|
1993-07-28
|
56KB
|
1,958 lines
;This file contains all the help information for CImage. Semicolons are remarks
;and colons denote the topics. The Help commands read a topic until EOF or
;until they reach the next topic. Feel free to add your own notes, and
;fixes as you deem necessary.
;
;If you add a topic, make sure that you ADD the topic to the TOPICS topic.
;
:GENERAL
███████████████████████████████████████████████████████████████████████████████
█ █
█ CImage --- Image Processor by Paul Nettle █
█ Copyright 1993 Paul D. Nettle. All Rights Reserved. █
█ █
███████████████████████████████████████████████████████████████████████████████
GENERAL HELP:
For detailed help on a specific command, just type HELP <topic>. Most
information you will ever need is available on-line in Cimage via the
HELP command.
For a list of available topics, just type HELP TOPICS.
The help filename is "CIMAGE.HLP" and must be located in current dir-
ectory. If it's not found there, then CImage will search for it in the
directory where CImage was run from. This allows different help files
for different projects and tasks.
The help file is just plain text, and therefore allows you to add
topics to it, or modify it as you see fit. Please be sure to contact
the author if you find any errors in the CIMAGE.HLP file. The help
file is modified with any DOS text editor (such as DOS's "EDIT.EXE").
Commands may be separated on the same command line with a ';'. For
example, "load image.gif 0;show 0" will load the image, then show
it.
When you type commands, CImage executes them in the following order:
Resolves any CImage environment variables (using %var% convension)
Resolves any macros
Tries to execute as an internal CImage command (HELP, LOAD, etc...)
Looks for it as a CImage batch file (EXAMPLE.IPB)
Passes the entire command line to DOS (with the CImage environment
variables and macros already resolved)
Currently, CImage does not support wild cards at all. This does not
limit you from using them for DOS commands from within CImage. If
you type "DIR *.EXE" from the CImage command prompt, that command is
still sent to DOS as-is.
You know CImage is running by it's prompt modifier, an underscore.
This can be changed by executing the PMOD command. See the PMOD
command for more information on the prompt modifier.
;------------------------------------------------------------------------------
:TOPICS
System level commands:
[EXIT/Q/QUIT] [`] [?/HELP] [REM] [ASK] [PAUSE] [ECHO] [PERCENT]
Batch file processing:
[IF] [IFNOT]
Graphic File Manipulation tools:
[LOAD] [SAVE] [MERGE] [TERRain]
Buffer Manipulation Tools:
[LB] [FREE] [SHOW] [MEM]
Local Environment Variables and Macros:
[VMODE] [VCOLORS] [CRES] [SET] [MACRO] [GAMV] [BIOSinfo] [VESAinfo]
Image Enhancement tools:
[NEGate] [ADD] [SUBtract] [MULTiply] [DIVide] [BRIghten] [DARKen] [NOISe]
[GREYscale] [NORMalize] [GAMMa] [CONV] [LC] [PIX] [OVERlay] [BIN]
Image Manipulation tools:
[FLIP] [CPY]
Image Generators:
[FADE] [PLASMA] [FILL]
----------------------------------------------------------------------------
OTHER TOPICS:
[TOPICS] [GENERAL]
SEE ALSO:
None.
;------------------------------------------------------------------------------
:`
PURPOSE:
Send a command directly to DOS bypassing the CImage
command processor shell.
SYNTAX:
`<command>
-or-
` <command>
DESCRIPTION:
This is useful for commands like MEM. Since DOS has a
MEM command as well as CImage, you can only run DOS's
MEM by using the `left single quote'.
NOTES:
Another way to perform a similar function is to create
a DOS batch file that runs MEM called M.BAT. This is,
of course, not very practical.
SHORTCUT:
None.
SEE ALSO:
None.
;------------------------------------------------------------------------------
::
PURPOSE:
The `colon' is used in batch files only for designating
a label.
SYNTAX:
:<label>
DESCRIPTION:
Labels in Batch files allow the batch file control over
it's flow.
Labels are used in conjunction with the GOTO command to
alter batch program flow.
NOTES:
None.
SHORTCUT:
None.
SEE ALSO:
ASK IF GOTO REM PAUSE ECHO
;------------------------------------------------------------------------------
:ADD
PURPOSE:
Add the contents of two image buffers.
SYNTAX:
ADD <buf1> <buf2> [outbuf]
DESCRIPTION:
ADD will add, pixel by pixel each of the red, blue and
green components of <buf1> and <buf2> and place the
result into [outbuf].
NOTES:
If [outbuf] is not given, then <buf1> contains the
result.
Upon adding the components, if the two components added
are greater than 255, then the component value is
clipped to 255.
SHORTCUT:
None.
SEE ALSO:
SUBTRACT MULTIPLY DIVIDE
;------------------------------------------------------------------------------
:ASK
PURPOSE:
ASK allows users to input single keystrokes for use
within CImage batch files.
SYNTAX:
ASK <keylist> <string>
DESCRIPTION:
The <keylist> contains all available keys to the user.
For example, a Yes/No question will have a keylist of
`yn'.
The <string> contains the prompt. This is displayed to
the user while ASK waits for a Key.
When ASK completes, ERRORLEVEL will be set according to
the key that was pressed. The ERRORLEVEL starts at 1,
for the first entry in the <keylist> and continues
until the keylist is complete. In the above example,
if the user pressed `y' then the ERRORLEVEL would be 1.
If the user would have pressed `n' then the ERRORLEVEL
would have been 2.
NOTES:
If a key not in the <keylist> was pressed, then
ERRORLEVEL is 0.
SHORTCUT:
None.
SEE ALSO:
IF
;------------------------------------------------------------------------------
:BIN
PURPOSE:
Binarize a picture with a given threshold.
SYNTAX:
BIN <inbuf> <threshold> [outbuf]
DESCRIPTION:
BIN will compare each of the red, blue and green
components of <inbuf> against <threshold>. If the
component value is less than <threshold> then the
component value is set to zero. If the component value
is greater than or equal to <threshold>, then the
component value is set to 255.
Valid range for <threshold> is 0-255.
NOTES:
If [outbuf] is not given, then <inbuf> contains the
result.
SHORTCUT:
None.
SEE ALSO:
BRIGHTEN DARKEN NORMALIZE GREYSCALE
;------------------------------------------------------------------------------
:BIOSINFO
PURPOSE:
BIOSINFO will set the BIOS graphics settings for
CImage.
SYNTAX:
BIOSINFO <mode> [xres] [yres]
DESCRIPTION:
BIOSINFO will set the current BIOS configuration to be
used for displaying image buffers using the SHOW
command.
By setting the BIOS settings in CImage, CImage can
access virtually any video card that has BIOS support.
Consult your video card's user's manual for information
on the BIOS mode and associated resolutions.
[xres] and [yres] may be omitted for quickly switching
between two different modes of the same resolution.
Default BIOS resolution is 640x480. The default number
of colors is 256 (see note below).
The BIOS is incapable of plotting pixels with more than
256 colors, so if the video mode that you are trying to
access has more than 256 colors, you MUST use the VESA
capabilities. Consult your video card's user's manual
for more information on VESA capabilities that it
supports.
Users must also perform a "VMODE BIOS" to enable the
BIOS mode for displaying image buffers. See the VMODE
command for more information on setting the mode.
TSRs are available to allow ALL video cards VESA
support in software. See the VESAINFO command for more
information on VESA support in CImage.
NOTES:
<mode> must be in HEX.
VESA is the preferred graphics configuration to run.
CImage does not support modes with less than 256
colors.
SHORTCUT:
BIOS
SEE ALSO:
VESAINFO VMODE VCOLORS CRES
;------------------------------------------------------------------------------
:BRIGHTEN
PURPOSE:
Brightens an image buffer.
SYNTAX:
BRIGHTEN <amount> <inbuf> [outbuf]
DESCRIPTION:
BRIGHTEN will increase the brightness of <inbuf> by
<amount>. <amount> is a component value, so the range
is 1-255.
NOTES:
If [outbuf] is not given, then <inbuf> contains the
result.
SHORTCUT:
BRI
SEE ALSO:
DARKEN
;------------------------------------------------------------------------------
:CONV
PURPOSE:
Performs a 3x3, 5x5, or 7x7 convolution filter.
SYNTAX:
CONV <filter> <inbuf> [outbuf]
DESCRIPTION:
Performs a Convolution filter (defined as <filter> in
the filter file (defined by the FILTERFILE command;
default filename is FILTERS.FLT). file) on <inbuf> and
places the result into [outbuf].
CONV perform "convolution" filters. Convolution
filters are a common way of changing an image's
appearance. Some common filters will blur or sharpen
an image, others may highlight edges, or remove all of
the image completely leaving only the edges.
The filters are contained in the filter file.
The Available filters can be obtained with the command
LC (for List Convolutions). See HELP LC for more
information on the LC command.
The filter description format for a 3x3 filter is as
follows:
FILTER <filtername> <size>
<upper-left> <upper-center> <upper-right>
<center-left> <center-center> <center-right>
<lower-left> <lower-center> <lower-right>
<operator> <operand> <bias>
Any text following semicolons are comments
Where <filtername> is the name of the filter. This is
where CONV looks for the command line option <filter>.
<size> is the size of the filter (3, 5 or 7 only,
others are ignored). For 5x5 and 7x7 filters, the
above example is incomplete, since from <upper-left> to
<lower-right> would be a 5x5 or 7x7 "grid".
Convolutions are quite simple. For each pixel in an
image, the filter grid is overlaid onto that pixel and
it's neighbors with the <center-center> element of the
filter grid aligned onto the current pixel in the
image, and the outer elements in the filter grid
overlaying the current pixel's neighbors. The next
step is to multiply each element in the filter grid
with it's corresponding overlaid pixel value. Once
all these values have been calculated, add them
together and perform the operation (/ 8 for an
<operator> of '/' and an <operand> of '8'.) Lastly,
add the <bias> value. If the addition of <bias> (or
subtraction of <bias> if it is negative) takes the
result above 255 or below 0, then the value is clipped
to 0 or 255, respectively.
A good trick for trying your own is to take a current
filter, copy it, change the new copy's name, and modify
it. If you have problems getting usable resulting
images, try adding all of the values in the filter's
grid and placing that value in <operand> with an
<operator> of '/'
NOTES:
The valid range for <bias> is 0-255.
Valid <operator> values are:
+.......Add <operand>
-.......Subtract <operand>
*.......Multiply by <operand> /.......Divide by
<operand>
M.......Sort all multiplied grid elements, and use
the median. Ignore <operand> -- Operand
MUST still be present
<.......Sort all multiplied grid elements, and use
the lowest. Ignore <operand> -- Operand
MUST still be present
>.......Sort all multiplied grid elements, and use
the highest. Ignore <operand> -- Operand
MUST still be present
If [outbuf] is not given, then CONV will create the
first available buffer.
CImage will search for the filter file in the following
order:
1. The current directory
2. The default CImage directory (where CIMAGE.EXE
is stored)
CAUTION: The median ('M'), dilate ('>') and erode
('<') functions take a LONG TIME in 5x5 or 7x7 filters.
Try to stick with using 3x3 filters for these
operators.
SHORTCUT:
None.
SEE ALSO:
LC FILTERFILE
;------------------------------------------------------------------------------
:CPY
PURPOSE:
Copy an image buffer to another.
SYNTAX:
CPY <inbuf> [outbuf]
DESCRIPTION:
CPY will copy <inbuf> into [outbuf], creating [outbuf]
in the process. [outbuf] must not exist.
NOTES:
If [outbuf] is not given, then CPY will create the
first available buffer.
CPY was not named "COPY" because of obvious
interference with the DOS COPY command.
SHORTCUT:
None.
SEE ALSO:
None.
;------------------------------------------------------------------------------
:CRES
PURPOSE:
Sets the color bit resolution for 256 color VGA
graphics.
SYNTAX:
CRES [value]
DESCRIPTION:
When CImage needs to display a 24-bit image onto a 256
color display, CImage needs to reduce the number of
colors that the image uses. This is by sorting colors
by popularity, choosing the most popular, and mapping
the rest of the colors to it's closest counterpart in
the list of the top 256.
When CImage needs to display an image, it needs to know
how many shades of red, green, and blue the video card
allows. Most cards allow for 6 bits of resolution (0-
63, or 64) for each element. To calculate how many
displayable colors, multiply red * green * blue, or
64*64*64 = 262,144. This is the number of colors
possible, however only 256 colors are allowed
simultaneously. CRES tells CImage how many shades the
video card allows for each element so that CImage can
reduce the number of shades as well as the number of
colors.
NOTES:
If [value] is not given, then CRES will display the
current value.
CImage does not support modes with less than 256
colors.
When CImage loads or creates an image buffer, it is
stored internally as a 24-bit image. Even if CImage
loads a 256-color GIF file, it is still converted to
24-bits as it is loaded. This is because modifications
to an image buffer may increase the number of colors
that it uses. This also allows for CImage to perform
functions on image buffers with the least amount of
accuracy loss.
SHORTCUT:
None.
SEE ALSO:
VESAINFO BIOSINFO VMODE VCOLORS CRES SHOW
;------------------------------------------------------------------------------
:DARKEN
PURPOSE:
Darkens an image buffer.
SYNTAX:
DARKEN <amount> <inbuf> [outbuf]
DESCRIPTION:
DARKEN will decrease the brightness of <inbuf> by
<amount>. <amount> is a component value, so the range
is 1-255.
NOTES:
If [outbuf] is not given, then <inbuf> contains the
result.
SHORTCUT:
DARK
SEE ALSO:
BRIGHTEN
;------------------------------------------------------------------------------
:DIVIDE
PURPOSE:
Divide the contents of two image buffers.
SYNTAX:
DIVIDE <buf1> <buf2> [outbuf]
DESCRIPTION:
DIVIDE will divide, pixel by pixel each of the red,
blue and green components of <buf1> and <buf2> and
place the result into [outbuf].
NOTES:
If [outbuf] is not given, then <buf1> contains the
result.
Upon dividing the components, if a component if <buf2>
is zero, then the result is automatically zero, since a
divide by zero is impossible.
SHORTCUT:
DIV
SEE ALSO:
ADD SUBTRACT MULTIPLY DIVIDE
;------------------------------------------------------------------------------
:ECHO
PURPOSE:
ECHO is used to display text during the execution of an
CImage batch file.
SYNTAX:
ECHO ON
-or-
ECHO OFF
-or-
ECHO <string>
DESCRIPTION:
Normally as a batch file is running, the commands are
"echoed" to the screen as they are executed. This can
be turned off by adding the command ECHO OFF to the
batch file. Once it has been turned off, the ECHO ON
can turn it back on. The ECHO setting is reset to ON
when all batch files have completed processing.
If ECHO is followed by <string>, then the string is
ECHOed to the screen.
NOTES:
An "@" character placed in front of a command line in a
batch file prevents that line from echoing.
An ECHO. will echo a blank line to the screen.
Currently, ECHO will echo all text as upper-case only.
SHORTCUT:
None.
SEE ALSO:
ASK IF GOTO : REM PAUSE
;------------------------------------------------------------------------------
:EXIT
PURPOSE:
EXIT will exit from the CImage command processor shell
to the previous level if one exists, otherwise, you are
exited to the DOS command prompt.
SYNTAX:
Exit
DESCRIPTION:
Once running CImage, you can run different levels of
the CImage command pro cessor. This is done by simply
running CImage from within itself. Once running the
second level, you can exit to the previous level by
typing EXIT.
NOTES:
None.
SHORTCUT:
Q -or- QUIT
SEE ALSO:
None.
;------------------------------------------------------------------------------
:FADE
PURPOSE:
Creates a test image that fades from light to dark.
SYNTAX:
FADE <xres> <yres> <red> <green> <blue> [outbuf] [dir]
DESCRIPTION:
FADE will create a 256-color image that fades from
light to dark the elements of <red>, <green> and <blue>
in the direction of [dir], and place it into [outbuf]
at a resolution of <xres> by <yres>.
Each of the <red>, <green> and <blue> component values
are entered as a '0' or a non-zero value. Any '1' must
be placed in this value to cause FADE to add that color
to the fade. A fade of 1 0 0 will create a fade of
only shades of red.
Use [dir] to denote which direction to create the fade
image. Valid values are U, D, L, R, for Up, Down,
Left, Right respectively. [dir] points to the dark
side of the image (Up would start at the top as dark
and work down to light).
NOTES:
If [outbuf] is not given, then FADE will create the
first available buffer.
If [dir] is not given, then FADE will use 'D' (down).
FADE was originally a test image for the developer, but
was left in for users. One use might be to create a
fade, and subtract that from another image for a simple
effect.
The "Loaded as file name" is set to FADE.TGA
SHORTCUT:
None.
SEE ALSO:
None.
;------------------------------------------------------------------------------
:FILL
PURPOSE:
Fills a buffer of a given color.
SYNTAX:
FILL <xres> <yres> <red> <green> <blue> [outbuf]
DESCRIPTION:
FILL will create an image of resolution <xres> by
<yres> filled with the color specified by <red>,
<green> and <blue> and place it into [outbuf].
NOTES:
If [outbuf] is not given, then FILL will create the
first available buffer.
The "Loaded as file name" is set to FILLED.TGA
SHORTCUT:
None.
SEE ALSO:
None.
;------------------------------------------------------------------------------
:FILTERFILE
PURPOSE:
Sets the filename used for the convolution filters.
SYNTAX:
FILTERFILE [filename]
DESCRIPTION:
FILTERFILE sets the filename that is used by the CONV
and LC commands for locating and performing user-
defined convolution filters. See the CONV command for
more information on performing convolution filters.
The default name is FILTERS.FLT, and must be located
in, first, the current directory. If the filter file
is not found there, then CImage will search for the
file in the directory from which it was originally run.
NOTES:
If [filename] is not given, then the FILTERFILE will
display the current filename.
SHORTCUT:
FFILE
SEE ALSO:
CONV LC
;------------------------------------------------------------------------------
:FLIP
PURPOSE:
Flip an image buffer top to bottom or left to right.
SYNTAX:
FLIP <dir> <inbuf> [outbuf]
DESCRIPTION:
FLIP will flip the buffer <inbuf> in the direction
specified by <dir> and place the result into [outbuf].
Valid values for <dir> are U, D, L, R for Up, Down,
Left, Right, respectively.
NOTES:
If [outbuf] is not given, then the result is placed
into <inbuf>.
There is no difference between Up and Down. There is
also no difference between Left and Right.
SHORTCUT:
None.
SEE ALSO:
None.
;------------------------------------------------------------------------------
:FREE
PURPOSE:
Release a buffer, freeing up the memory that it uses.
SYNTAX:
FREE <buf>
-or-
FREE ALL
DESCRIPTION:
FREE will free the memory used by <buf>. If <buf> is
"ALL", then all buffers will be freed.
NOTES:
FREE will not ask to verify, even if you use "FREE ALL"
SHORTCUT:
None.
SEE ALSO:
None.
;------------------------------------------------------------------------------
:GAMMA
PURPOSE:
Perform gamma correction.
SYNTAX:
GAMMA <inbuf> [outbuf]
DESCRIPTION:
GAMMA will correct the gamma of <inbuf> and place the
result into [outbuf].
It is usually safe to assume that black is 0 and white
is 255. How ever, it is not necessarily true that 128
appears exactly as a medium grey (which would mean that
color intensity output is linear). On most computers,
color intensity output is not linear, and must be
adjusted accordingly. The GAMMA command will correct
this on images and make it appear that the image is
being displayed with linear color intensity output.
The GAMMA function uses the value set by the GAMV
command to set the amount of gamma correction.
NOTES:
If [outbuf] is not given, then the result is placed
into <inbuf>
SHORTCUT:
GAMM
SEE ALSO:
GAMV
;------------------------------------------------------------------------------
:GAMV
PURPOSE:
Set the gamma correction level.
SYNTAX:
GAMV [value]
DESCRIPTION:
GAMV will set the gamma correction level for the GAMMA
command. See the GAMMA command for more detailed
information on gamma correction.
NOTES:
If [value] is not given, then the current value will be
displayed.
The default value for GAMV is 0.6.
SHORTCUT:
None.
SEE ALSO:
GAMMA
;------------------------------------------------------------------------------
:GOTO
PURPOSE:
Alter the program flow within an CImage batch file.
SYNTAX:
GOTO <label>
DESCRIPTION:
The GOTO command will cause the batch file to stop
processing, locate <label> within the batch file, and
continue processing there. Labels are designated by a
':'. See the ':' for more detailed information on
labels.
NOTES:
The GOTO command is meant to be used within batch files
only.
SHORTCUT:
None.
SEE ALSO:
ASK IF : REM PAUSE ECHO
;------------------------------------------------------------------------------
:GREYSCALE
PURPOSE:
Convert the current image into a greyscale image.
SYNTAX:
GREYSCALE <inbuf> [outbuf]
DESCRIPTION:
GREYSCALE will convert <inbuf> to greyscale and place
the results into [outbuf].
Converting an image to grayscale is very simple. Each
pixel's red, green and blue components are compared
against each other to find the largest (brightest)
value, then all three components are set to this value.
NOTES:
If [outbuf] is not given, then the result is placed
into <inbuf>
There is no command to convert from greyscale to color,
since a greyscale image does not contain enough
information to perform such a task.
SHORTCUT:
GREY
SEE ALSO:
None.
;------------------------------------------------------------------------------
:IF
PURPOSE:
The IF and IFNOT commands allow conditional execution
of commands based on the results of a logical
condition. When the condition is true, then CImage
executes the <command>; otherwise, CImage will ignore
the command.
SYNTAX:
IF ERRORLEVEL <number> <command>
-or-
IFNOT ERRORLEVEL <number> <command>
-or-
IF <string1> == <string2> <command>
-or-
IFNOT <string1> == <string2> <command>
-or-
IF EXIST <filename> <command>
-or-
IFNOT EXIST <filename> <command>
DESCRIPTION:
The conditions are described as follows:
ERRORLEVEL True if, and only if, the previous
command executed had an exit code equal
to <number>.
<string1> == <string2> True if, and only if, <string1>
is equal to <string2>. The strings
must not contain spaces.
EXIST True if, and only if, the <filename>
exists in the current directory.
NOTES:
Currently, the only CImage command that returns an exit
code is the ASK command. DOS command exit codes are
currently not supported.
SHORTCUT:
None.
SEE ALSO:
ASK GOTO : REM PAUSE ECHO
;------------------------------------------------------------------------------
:LB
PURPOSE:
List the currently allocated image buffers.
SYNTAX:
LB
DESCRIPTION:
LB will list the current information about all
currently allocated buffers:
Buffer number
Loaded file name
Loaded file type
Last saved name
Last saved file type
Resolution
NOTES:
None.
SHORTCUT:
None.
SEE ALSO:
LOAD SAVE MERGE
;------------------------------------------------------------------------------
:LC
PURPOSE:
List all convolution filters contained in the filter
file (defined by the FILTERFILE command; default
filename is FILTERS.FLT).
SYNTAX:
LC
DESCRIPTION:
LC Will list all the convolution filters in the filter
file sorted by grid size (3, 5 or 7).
NOTES:
CImage will search for the filter file in the following
order:
1. The current directory
2. The default CImage directory (where CIMAGE.EXE is
stored)
SHORTCUT:
None.
SEE ALSO:
CONV FILTERFILE
;------------------------------------------------------------------------------
:LOAD
PURPOSE:
LOAD will load images into memory.
SYNTAX:
LOAD <filename> [buffer]
DESCRIPTION:
LOAD will load <filename> into [buffer].
NOTES:
If [buffer] is not given, then LOAD will create the
first available buffer.
Currently, LOAD does not interrogate the file contents
to decide what type of image file to load. The file's
extension is used to decide the file's type. Once the
file type is obtained from the extension, LOAD will
verify the file is indeed the proper file type.
Current supported file types are:
IMG - VIVID/BOB format
GIF - GIF87a (and GIF89a files that are compatible)
TGA - Only type 2, uncompressed
BMP - All versions (Windows, and OS/2)
IPI - CImage's internal format
SHORTCUT:
None.
SEE ALSO:
SAVE MERGE LB
;------------------------------------------------------------------------------
:MACRO
PURPOSE:
Creates a macro.
SYNTAX:
MACRO [macro] [cmd-line]
DESCRIPTION:
MACRO will define [macro] to be [command-line]
Macros are shortcuts. You can define almost any
command-line to a macro.
Say you define "P" to be "PLASMA 640 480 3.3". Then,
every time you type a "P" (followed by [RETURN]) on the
command line, CImage will interpret it as: "PLASMA 640
480 3.3" (which will create a plasma image the size of
640x480 with the grain factor of 3.3, and place it into
the first available buffer).
Macros can also be inserted into a command-line. For
example, you could use "plasma 640 480 PVAL" where PVAL
has been defined as "3.3". Macros may also reference
themselves. "P" may be defined as "PLASMA 640 480
PVAL" and if PVAL has been defined as "3.3", then that
line is interpreted as "PLASMA 640 480 3.3".
NOTES:
Macros may reference environment variables, but
environment variables may not reference macros.
If [cmd-line] is not given, then the [macro] will be
removed from the macro list.
If [macro] and [cmd-line] are not given, then MACRO
will list all currently defined macros.
[cmd-line] may contain spaces.
Since a semicolon on the CImage command line is used to
separate multiple commands, you need to use the carrot
(^) character where semicolons are to be placed. These
semicolons will not, however, become separate command
lines within a single macro, they will be interpreted
as one command line.
Macros must be separated from other words on the
command line they are to be used in by a space.
SHORTCUT:
None.
SEE ALSO:
SET
;------------------------------------------------------------------------------
:MEM
PURPOSE:
Display the current status of memory.
SYNTAX:
MEM
DESCRIPTION:
MEM will display the following information:
1. Largest available block of memory
2. Size of paging/file partition
The "Largest available block of memory" is quite self-
explanatory. This includes all virtual memory. The
"Size of paging/file partition" is the size of the
virtual memory portion of available memory.
NOTES:
None.
SHORTCUT:
None.
SEE ALSO:
None.
;------------------------------------------------------------------------------
:MERGE
PURPOSE:
Merges three color separated images into one full color
image.
SYNTAX:
MERGE <redfile> <bluefile> <greenfile> [outbuf]
DESCRIPTION:
MERGE performs three LOADs; one LOAD for each of the
different files in <redfile>, <bluefile> and
<greenfile> with the exception that MERGE gets the red
element of the image from <redfile>, the blue element
from <bluefile> and the green element from <greenfile>.
These are then merged into a single image and placed
into [outbuf].
This is useful for people who have monochrome hand
scanners. It is possible to actually digitize a color
image with a monochrome hand scanner. Scan an image
three times using a red filter the first time, a green
filter the second time, and a blue filter the last
time. Use your hand scanner's software to align the
three images, and import them into CImage using the
MERGE command. What you will get is a full-color image
in [outbuf].
NOTES:
If [outbuf] is not given, then MERGE will create the
first available buffer.
The three files in MERGE may be different file types,
however, they must all have the same resolution.
SHORTCUT:
None.
SEE ALSO:
LOAD SAVE LB OVERLAY
;------------------------------------------------------------------------------
:MULTIPLY
PURPOSE:
Multiply the contents of two image buffers.
SYNTAX:
MULTIPLY <buf1> <buf2> [outbuf]
DESCRIPTION:
MULTIPLY will multiply, pixel by pixel each of the red,
blue and green components of <buf1> and <buf2> and
place the result into [outbuf].
NOTES:
If [outbuf] is not given, then <buf1> contains the
result.
Upon multiplying the components, if the two components
multiplied are greater than 255, then the component
value is clipped to 255.
SHORTCUT:
MULT
SEE ALSO:
ADD SUBTRACT DIVIDE
;------------------------------------------------------------------------------
:NEGATE
PURPOSE:
Create a photo negative of an image.
SYNTAX:
NEGATE <inbuf> [outbuf]
DESCRIPTION:
Negate reads the value of each color element for each
pixel, and subtracts it from 255. Placing the
resulting image into [outbuf].
The effect is an intensity reversal (or "photo
negative"), in which black becomes white, and white
becomes black.
NOTES:
If [outbuf] is not given, then <inbuf> contains the
result.
SHORTCUT:
NEG
SEE ALSO:
None.
;------------------------------------------------------------------------------
:NOISE
PURPOSE:
Add random noise to an image.
SYNTAX:
NOISE <amount> <inbuf> [outbuf]
DESCRIPTION:
Computer generated images often look to "perfect" and
therefore, unrealistic. NOISE can be used to help this
matter.
NOISE will randomly add n <amount> to each individual
pixel in <inbuf>, and place the result into [outbuf].
A useful value for <amount> would be 5-15.
NOTES:
Valid range for <amount> is 1-255.
If [outbuf] is not given, then <inbuf> contains the
result.
If the addition or subtraction of <amount> takes the
result above 255 or below 0, then the value is clipped
to 0 or 255, respectively.
SHORTCUT:
NOIS
SEE ALSO:
None.
;------------------------------------------------------------------------------
:NORMALIZE
PURPOSE:
Perform a histogram normalization on an image.
SYNTAX:
NORMALIZE <inbuf> [outbuf]
DESCRIPTION:
NORMALIZE performs a histogram normalization (or
contrast enhancement) on <inbuf>.
A histogram normalization is quite a simple task. A
normalization finds the darkest color, and maps it to
zero, then it finds the brightest color and maps it to
white. This is useful for adding contrast to images,
like very hazy images. Normalization can actually turn
a "foggy" picture into a "sunny day" picture.
NOTES:
If [outbuf] is not given, then <inbuf> contains the
result.
SHORTCUT:
NORM
SEE ALSO:
None.
;------------------------------------------------------------------------------
:OVERLAY
PURPOSE:
Performs a color selectable overlay of one image onto
another image.
SYNTAX:
OVERLAY <buf1> <buf2> <low> <high> [outbuf]
DESCRIPTION:
OVERLAY will overlay each pixel from <buf1> that is
greater than or equal to <low> and less than or equal
to <high> onto it's corresponding pixel in <buf2>. The
resulting image is then placed into [outbuf].
The comparison of <low> and <high> against pixels in
<buf1> are done on after monochrome conversion. CImage
first converts <buf1> to mono to compare against <low>
and <high> and if the monochrome value is inside the
range, then the COLOR value is placed into [outbuf].
OVERLAY is useful for overlaying an image of an
airplane (with a black background) onto a mountain
scene.
NOTES:
The valid range for <low> and <high> is 0-255.
If [outbuf] is not given, then OVERLAY will create the
first available buffer.
The "Loaded as file name" is set to OVERLAY.TGA
SHORTCUT:
OVER
SEE ALSO:
MERGE
;------------------------------------------------------------------------------
:PAUSE
PURPOSE:
PAUSE suspends the operation of a CImage Batch file.
SYNTAX:
PAUSE <string>
-or-
PAUSE
DESCRIPTION:
If <string> exists, then <string> is printed,
otherwise, PAUSE will display "Press any key to
continue...". PAUSE will then wait for a key-press to
continue.
NOTES:
PAUSE is often used to break out of batch files by
allowing the user to press the break key [CTRL-C] or
[CTRL-BREAK]. If the break key sequence is pressed
during a PAUSE command, CImage will not ask to break
out of the batch file until a key is pressed. This is
the only point in batch file processing when CImage
will wait for a key to ask to stop processing the batch
file.
Currently, PAUSE echoes all text as upper-case only.
SHORTCUT:
None.
SEE ALSO:
ASK IF GOTO : REM PAUSE ECHO
;------------------------------------------------------------------------------
:PERCENT
PURPOSE:
PERCENT is used to enable/disable the percentages that
are printed as CImage processes different commands that
may take some time.
SYNTAX:
PERCENT ON
-or-
PERCENT OFF
DESCRIPTION:
PERCENT ON will enable the percentages, and PERCENT OFF
will turn them off. The default is ON.
Turning the percents off will speed up the time it
takes to execute commands. This is because screen
displays are rather slow.
NOTES:
The ONLY command that takes some time to process that
does not display percents is the PLASMA command.
SHORTCUT:
None.
SEE ALSO:
None.
;------------------------------------------------------------------------------
:PIX
PURPOSE:
Pixellize an image.
SYNTAX:
PIX <xres> <yres> <inbuf> [outbuf]
DESCRIPTION:
PIX will group pixels of <xres> by <yres>, average all
the pixel values in the group, and replace those pixels
with the averaged color. The result of which is an
image that appears as though the resolution has been
lowered and the pixels stretched to keep the same image
size.
PIX does NOT alter the image resolution. An image of
100x100 being pixelized with the values of 5 (for
<xres>) and 5 (for <yres>) will generate an image that
appears to have a resolution of 20x20, however, the
resolution is actually 100x100.
NOTES:
If [outbuf] is not given, then <inbuf> contains the
result.
SHORTCUT:
None.
SEE ALSO:
None.
;------------------------------------------------------------------------------
:PLASMA
PURPOSE:
Creates a "plasma" type fractal image.
SYNTAX:
PLASMA <xres> <yres> <grain> [outbuf]
DESCRIPTION:
PLASMA will create a "plasma" fractal image of <xres>
by <yres> using <grain> and place the result into
[outbuf].
Plasma fractals look like clouds. The larger <grain>
is, the denser the clouds. A typical value for plasma
is 3.
NOTES:
Valid range for <grain> is 0.001 - 100.0.
If [outbuf] is not given, then PLASMA will create the
first available buffer.
PLASMA is the only command that does not display
percentages as it executes.
The "Loaded as file name" is set to PLASMA.TGA
SHORTCUT:
None.
SEE ALSO:
None.
;------------------------------------------------------------------------------
:PMOD
PURPOSE:
Sets the prompt modifier.
SYNTAX:
PMOD [modifier]
DESCRIPTION:
The prompt modifier is displayed to the left of the
prompt so that the user can tell when CImage is
running. PMOD will allow the user to change the prompt
modifier.
NOTES:
If [modifier] is not given, then PMOD will display the
current prompt modifier.
SHORTCUT:
None.
SEE ALSO:
None.
;------------------------------------------------------------------------------
:REM
PURPOSE:
During the execution of an CImage batch file, REM
displays the remarks that are on the same line as the
REM command in that batch file.
SYNTAX:
REM [comment]
DESCRIPTION:
The [comment] is not executed, rather it is used for
making notes inside batch files to it readers from it's
author. It can also be used to display information to
the screen as a batch file executes.
NOTES:
If the ECHO is off, then the REM command line is not
displayed.
SHORTCUT:
None.
SEE ALSO:
ASK IF GOTO : PAUSE ECHO
;------------------------------------------------------------------------------
:SAVE
PURPOSE:
Save an image buffer.
SYNTAX:
SAVE <buff> [filename]
DESCRIPTION:
SAVE will save <buff> to [filename].
NOTES:
If [filename] is not given, then SAVE will get the name
from the last saved name for that buffer (see the LC
command for more information on looking for the last
saved name). If there is no last saved name, then SAVE
will save the buffer under the name that it was
originally loaded (or created).
Files are overwritten without verification.
The file's extension is used to decide the file's type.
Once the file type is obtained from the extension, SAVE
will create the file, and save it accordingly.
Current supported file types are:
IMG - VIVID/BOB format
GIF - GIF87a
TGA - Only type 2, uncompressed
BMP - All versions (Windows)
IPI - CImage's internal format
Also note that all files written out by CImage are 24-
bit, non-compressed images (except .GIF files, which
are 8-bit compressed images), and Targa files (.TGA)
are written in Top-down format only.
SHORTCUT:
None.
SEE ALSO:
LOAD MERGE LB
;------------------------------------------------------------------------------
:SET
PURPOSE:
Set an CImage internal environment variable.
SYNTAX:
SET [var] [value]
DESCRIPTION:
SET will define the CImage internal environment
variable [var] to be [value]. Environment variables
are similar to macros except that macros must be
separated from other words on the command line by a
space, and environment variables don't, however,
environment variables require a '%' sign on either side
of them for them to be resolved properly.
Environment variables are usually used as settings
(like the path to your images) to be inserted into
command line. You can define almost any string to a
variable. These environment variable are accessed as
%<var>%.
If you define "PTH" to be "C:\IMAGES\". Then, every
time you type "%PTH%" on the command line, CImage will
interpret it as: "C:\IMAGES\"
Say you type the line: "LOAD %PTH%PICTURE.GIF". This
line will get interpreted as "LOAD
C:\IMAGES\PICTURE.GIF".
Like macros, environment variables may also reference
each other.
NOTES:
Macros may reference environment variables, but
environment variables may not reference macros.
If [value] is not given, then the [var] will be removed
from the environment variable table.
If [var] and [value] are not given, then SET will list
all currently defined environment variables.
SHORTCUT:
None.
SEE ALSO:
MACRO
;------------------------------------------------------------------------------
:SHOW
PURPOSE:
Display an image buffer.
SYNTAX:
SHOW [buf]
DESCRIPTION:
SHOW will display, in graphics mode, the image in
[buf].
If color reduction is needed, then SHOW will perform
the color reduction before displaying the image.
SHOW will use the information in VMODE to pick what
type of display mode to enter to show [buf]. See the
VMODE command for more information on the different
graphics configurations available from CImage.
Once the image is displayed, SHOW will beep, and any
key will return the user to the text mode command
prompt.
NOTES:
If [buf] is not given, then SHOW will show the first
available buffer (if one exists).
The modes 11-13, 15 and 17 may take a few seconds once
they enter graphics mode to begin displaying the image
to finalize color co ordination. This is not true for
modes with 32K colors or more.
VESA is the preferred graphics configuration to run.
CImage does not support modes with less than 256
colors.
SHORTCUT:
None.
SEE ALSO:
VESAINFO BIOSINFO VMODE VCOLORS CRES
;------------------------------------------------------------------------------
:SUBTRACT
PURPOSE:
Subtract the contents of two image buffers.
SYNTAX:
SUBTRACT <buf1> <buf2> [outbuf]
DESCRIPTION:
SUBTRACT will subtract, pixel by pixel, each of the
red, blue and green components of <buf1> and <buf2> and
place the result into [outbuf].
NOTES:
If [outbuf] is not given, then <buf1> contains the
result.
Upon subtracting the components, if the two components
subtracted are less than 0, then the component value is
clipped to 0.
SHORTCUT:
SUB
SEE ALSO:
ADD MULTIPLY DIVIDE
;------------------------------------------------------------------------------
:TERRAIN
PURPOSE:
Generate a BOB (ray tracer) compatible terrain map.
SYNTAX:
TERRAIN <buff> <range> <filename> <low> [color]
DESCRIPTION:
TERRAIN will generate a .B file for the ray tracer BOB
that contains a terrain map of triangles for the
current image using the intensity of each pixel for the
height of the triangle points.
TERRAIN scans <buff>, and at each pixel it scales
[color] to <range>, then compares the value to <low>,
which is the "water level", and if the value is less
than <low>, the value gets clipped to <low>. The
triangle is then written to <filename>.
This command was meant to work primarily with the
PLASMA images for terrain generation, however, it can
be used with any image.
NOTES:
<range> must be greater than 0. Valid range for <low>
is 0 (flat) to 255 (full height). Valid values for
[color] are R, G, B or M. These specify to use the Red
element, Blue element, Green element or the pixel
converted to Monochrome for the pixel value (triangle
height).
If [color] is not given, then TERRAIN will use
Monochrome conversion.
Images of 640x480 can create VERY LARGE output files.
SHORTCUT:
TERR
SEE ALSO:
None.
;------------------------------------------------------------------------------
:VCOLORS
PURPOSE:
Set the number of colors that the video card can
display.
SYNTAX:
VCOLORS [val]
DESCRIPTION:
VCOLORS tells CImage how many colors the video card can
display simultaneously. CImage needs to know how many
colors the video card can display so that it may
properly reduce the internal 24-bit images to [val]
colors for displaying.
This value is set by the VESAINFO, VMODE, and BIOSINFO
functions.
NOTES:
If [val] is not given, then VCOLORS will display the
current setting.
CImage does not support modes with less than 256
colors.
SHORTCUT:
None.
SEE ALSO:
VESAINFO BIOSINFO VMODE CRES SHOW
;------------------------------------------------------------------------------
:VESAINFO
PURPOSE:
Set or display the VESA graphics configuration.
SYNTAX:
VESAINFO [mode]
DESCRIPTION:
VESAINFO will set the current VESA configuration to be
used for displaying image buffers using the SHOW
command.
Users must also perform a "VMODE VESA" to enable the
VESA mode for displaying image buffers. See the VMODE
command for more information on setting the mode.
VESA is a great standard for super-VGA displays.
CImage's developers support VESA and hopes that you
will use this configuration above BIOS or any of the
built-in modes.
NOTES:
The VESA drivers are not included with CImage. These
drivers can be obtained from you video card
manufacturer if they were not included with your card
upon purchase.
If [mode] is not given, then VESAINFO will display the
following information (this is from my system, VESA
version 1.2 running a Diamond Speed Star 24X):
Available modes are marked with an asterisk (*):
6Ah - 800 x 600 16 colors
* 100h - 640 x 400 256 colors
* 101h - 640 x 480 256 colors
* 102h - 800 x 600 16 colors
* 103h - 800 x 600 256 colors
* 104h - 1024 x 768 16 colors
* 105h - 1024 x 768 256 colors
* 106h - 1280 x 1024 16 colors
107h - 1280 x 1024 256 colors
108h - TEXT MODE...unusable
* 109h - TEXT MODE...unusable
* 10Ah - TEXT MODE...unusable
* 10Bh - TEXT MODE...unusable
10Ch - TEXT MODE...unusable
* 10Dh - 320 x 200 32K colors
10Eh - 320 x 200 64K colors
10Fh - 320 x 200 16M colors
* 110h - 640 x 480 32K colors
111h - 640 x 480 64K colors
112h - 640 x 480 16M colors
* 113h - 800 x 600 32K colors
114h - 800 x 600 64K colors
115h - 800 x 600 16M colors
116h - 1024 x 768 32K colors
117h - 1024 x 768 64K colors
118h - 1024 x 768 16M colors
119h - 1280 x 1024 32K colors
11Ah - 1280 x 1024 64K colors
11Bh - 1280 x 1024 16M colors
Current Settings:
VESA version: 1.2
OEM name: Western Digital Inc V1.2
VESA video mode: 113h (275)
Resolution: 800x600
Displayable colors: 32768 (15 Bits per pixel)
Mode attributes: [Supported] [No BIOS
Output] [Color]
[Graphics]
Window A attributes: [Supported] [Readable]
[Writable]
Window B attributes: [Not Supported]
Granularity/Win size: 4K/64K
Window segments A/B: A000h/A800h
Window pos. function: 0623:05EEh
Bytes per scanline: 1600
Character size: 0x0
# of memory planes: 1
Number of banks: 1
Memory model type: YUV
Bank size: 0K
Image pages: 1
Red size/field pos: 5/10
Green size/field pos: 5/5
Blue size/field pos: 5/0
Direct color mode: [Color ramp fixed] [Bits
are usable]
VESA is the preferred graphics configuration to run.
CImage does not support modes with less than 256
colors.
SHORTCUT:
VESA
SEE ALSO:
BIOSINFO VMODE VCOLORS CRES SHOW
;------------------------------------------------------------------------------
:VMODE
PURPOSE:
Sets the video mode to be used for displaying image
buffers.
SYNTAX:
VMODE [mode]
DESCRIPTION:
VMODE tells CImage what mode to use for displaying
image buffers. Currently, the following modes are
supported:
320 x 200, 256 color
640 x 400, 256 color
640 x 480, 256 color
800 x 600, 256 color
1024 x 768, 256 color
BIOS mode
VESA mode
If BIOS is selected, then CImage uses the current BIOS
information for it's display mode. See the BIOSINFO
command for more information on BIOS graphics
configuration.
If VESA is selected, then CImage uses the current VESA
information for it's display mode. See the VESAINFO
command for more information on VESA graphics
configuration.
NOTES:
If [mode] is not given, then VMODE will display the
current mode's information, and the available modes.
Valid values for [val] are:
11.......320 x 200, 256 color
12.......640 x 400, 256 color
13.......640 x 480, 256 color
15.......800 x 600, 256 color
17......1024 x 768, 256 color
BIOS....BIOS mode
VESA....VESA mode
VESA is the preferred graphics configuration to run.
CImage does not support modes with less than 256
colors.
SHORTCUT:
None.